/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gestionservicio.model.dao.impl;

import gestionservicio.model.dao.interfaces.ServicioDao;
import gestionservicio.model.businessobject.Servicio;

// Hibernate Spring DAO Para que me soporte
import java.sql.SQLException;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

/**
 *
 * @author principal
 */
public class ServicioDaoImpl extends HibernateDaoSupport implements ServicioDao {

    public ServicioDaoImpl(){
        super();
    }

    public int saveServicio(Servicio servicio) {
        this.getHibernateTemplate().save("ServicioTable", servicio);
        return 1;
    }

    public Servicio getSevicio(final Integer idServicio) {
        return (Servicio) this.getHibernateTemplate().execute(new HibernateCallback() {

            public Object doInHibernate(Session session)
                    throws HibernateException, SQLException {
                Servicio servicio =
                        (Servicio) session.createCriteria("ServicioTable")
                        .add(Restrictions.eq("idServicio", idServicio))
                        .uniqueResult();

                return servicio;
            }
        });
    }

    public boolean updateServicio(Servicio servicio) {
        this.getHibernateTemplate().update(servicio);
        return true;
    }

}
